import { MockMethod } from 'vite-plugin-mock'

//createUserList:次函数执行会返回一个数组,数组里面包含两个用户信息
function createUserList() {
    return [
        {
            userId: 1,
            avatar:
                'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
            username: 'admin',
            password: '111111',
            desc: '平台管理员',
            roles: ['平台管理员'],
            buttons: ['cuser.detail'],
            routes: ['home'],
            token: 'Admin Token',
        },
        {
            userId: 2,
            avatar:
                'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
            username: 'system',
            password: '111111',
            desc: '系统管理员',
            roles: ['系统管理员'],
            buttons: ['cuser.detail', 'cuser.user'],
            routes: ['home'],
            token: 'System Token',
        },
    ]
}
export default [
    {
        url: '/api/user',
        method: 'get',
        response: () => {
            return {
                code: 200,
                message: 'success',
                data: {
                    id: 1,
                    name: 'John Doe',
                    email: 'john.doe@example.com',
                },
            }
        },
    },
    {
        url: '/api/login',
        method: 'post',
        response: (req) => {
            const { username, password } = req.body
            if (username === 'admin' && password === '123456') {
                return {
                    code: 200,
                    message: 'success',
                    data: {
                        token: 'fake-token1',
                        user: 'lisi',
                    },
                }
            } else {
                return {
                    code: 401,
                    message: 'Invalid username or password',
                }
            }
        },
    },
    // 获取用户信息
    {
        url: '/api/user/info',
        method: 'get',
        response: (request) => {
            //获取请求头携带token
            const token = request.headers.token;
            console.log(token + "---------")
            //查看用户信息是否包含有次token用户
            const checkUser = createUserList().find((item) => item.token === token)
            //没有返回失败的信息
            if (!checkUser) {
                return { code: 201, data: { message: '获取用户信息失败' } }
            }
            //如果有返回成功信息
            return { code: 200, data: { checkUser } }
        },
    },
] as MockMethod[]
